﻿<!DOCTYPE html>
<html class="x-admin-sm">

<head>
    <meta charset="UTF-8">

    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport"
        content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />



    <link rel="stylesheet" href="../content/css/font.css">
    <link rel="stylesheet" href="../content/css/xadmin.css">
    <link rel="stylesheet" href="../content/plugin/bootstrap/css/bootstrap.min.css">
    <link rel='stylesheet' href='../content/plugin/bootstrap/css/style.css' />

    <script src="../content/js/jquery-1.10.2.min.js"></script>

    <script type="text/javascript" src="../content/js/xadmin.js"></script>
    <script type="text/javascript" src="../content/js/cookie.js"></script>
    <script src="../content/lib/layui/layui.js" charset="utf-8"></script>
    <link rel="stylesheet" href="../content/plugin/FileUpload/css/jquery.fileupload.css" />




</head>

<body>
    <div id="app">
        <div class="x-nav">

            <span class="nav-header">
                <a href="">首页</a>>
                <a href="">商品管理</a>>
                <a>
                    <cite>活动分类</cite>
                </a>
            </span>

        </div>
        <div class="x-body">
            <div class="layui-row">

                <input type="text" name="username" placeholder="分类名称" v-model="search.textstr" autocomplete="off"
                    style="height:30px;width: 100px;">

                <button class="layui-btn" v-on:click="getdata"><i class="layui-icon">&#xe615;</i></button>


            </div>
            <hr />
            <div>

                <button class="layui-btn" v-on:click="add"><i class="layui-icon"></i>添加</button>

            </div>
            <hr />
            <div class="table-responsive">
                <table class="table table-bordered table-hover">
                    <thead>
                        <tr>


                            <th>
                                分类ID</th>
                            <th> 分类名称</th>
                            <th>分类图片</th>
                            <th>排序</th>

                            <th>是否启用</th>
                            <th>操作</th>

                        </tr>
                    </thead>
                    <tbody>
                        <tr v-for="uitem in arrayData">


                            <td>{{uitem.id}}</td>
                            <td>{{uitem.name}}</td>
                            <td><img :src="uitem.imgurl" style="width: 50px;" />

                            </td>
                            <td>{{uitem.sort}}</td>
                            <td>
                                <span v-if="uitem.state==1">是</span>
                                <span v-else>否</span>
                            </td>
                            <td class="td-manage">

                                <a title="编辑" v-on:click="vupdate(uitem)" href="javascript:;">
                                    <i class="layui-icon"></i>
                                </a>
                                <a title="删除" v-on:click="vdel(uitem)" href="javascript:;">
                                    <i class="layui-icon">&#xe640;</i>
                                </a>
                            </td>
                        </tr>
                    </tbody>
                </table>
            </div>
            <div class="page">
                <div>
                    <vue-nav :cur="search.page" :all="all" :allcount="allcount" :callback="callback"></vue-nav>
                </div>
            </div>

        </div>


        <!--添加-->
        <div class="modal fade" id="addbox" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
            aria-hidden="true">
            <div class="modal-dialog">
                <div class="modal-content" id="myModal">
                    <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                            <span aria-hidden="true">&times;</span>
                        </button>
                        <h4 class="modal-title" id="myModalLabel">添加信息</h4>
                    </div>
                    <div class="modal-body">
                        <fieldset>

                            <div class="control-group">
                                <label for="input01" class="control-label">分类名称</label>
                                <div class="controls">
                                    <input placeholder="" type="text" class="form-control" v-model="addobj.name">
                                </div>
                            </div>


                            <div class="control-group">
                                <label for="input01" class="control-label">分类图片</label>
                                <div class="controls">
                                    <span class="btn btn-success fileinput-button">
                                        <i class="glyphicon glyphicon-plus"></i>
                                        <span>添加素材</span>
                                        <input id="fileupload1" type="file" name="imgFile" multiple>

                                    </span>
                                    <div id="showpic">
                                        <img :src="imgurl" v-if="imgurl!=''" style="width:50px;" />
                                    </div>

                                </div>
                            </div>

                            <div class="control-group">
                                <label for="input01" class="control-label">排序</label>
                                <div class="controls">
                                    <input placeholder="" type="text" class="form-control" v-model="addobj.sort">
                                </div>
                            </div>

                            <div class="control-group">
                                <label for="input01" class="control-label">是否启用</label>
                                <div class="controls">
                                    <select v-model="addobj.state" class="form-control">
                                        <option value="">
                                            请选择
                                        </option>
                                        <option v-for="item in statelist" :value='item.id'>
                                            {{item.name}}
                                        </option>
                                    </select>
                                </div>
                            </div>



                        </fieldset>
                        <div class="modal-footer">
                            <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
                            <button type="button" class="btn btn-primary" v-on:click="insert(addobj)">确认</button>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <!--添加结束-->
        <!--修改-->
        <div class="modal fade" id="editbox" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
            aria-hidden="true">
            <div class="modal-dialog">
                <div class="modal-content" id="myModal">
                    <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                            <span aria-hidden="true">&times;</span>
                        </button>
                        <h4 class="modal-title" id="myModalLabel">修改信息</h4>
                    </div>
                    <div class="modal-body">
                        <fieldset>
                            <div class="control-group">
                                <label for="input01" class="control-label">分类名称</label>
                                <div class="controls">
                                    <input placeholder="" type="text" class="form-control" v-model="editobj.name">
                                </div>
                            </div>



                            <div class="control-group">
                                <label for="input01" class="control-label">分类图片</label>
                                <div class="controls">
                                    <span class="btn btn-success fileinput-button">
                                        <i class="glyphicon glyphicon-plus"></i>
                                        <span>添加素材</span>
                                        <input id="fileupload2" type="file" name="imgFile" multiple>

                                    </span>
                                    <div id="showpic">
                                        <img :src="imgurl" v-if="imgurl!=''" style="width:50px;" />
                                    </div>

                                </div>
                            </div>

                            <div class="control-group">
                                <label for="input01" class="control-label">排序</label>
                                <div class="controls">
                                    <input placeholder="" type="text" class="form-control" v-model="editobj.sort">
                                </div>
                            </div>

                            <div class="control-group">
                                <label for="input01" class="control-label">是否启用</label>
                                <div class="controls">
                                    <select v-model="editobj.state" class="form-control">
                                        <option value="">
                                            请选择
                                        </option>
                                        <option v-for="item in statelist" :value='item.id'>
                                            {{item.name}}
                                        </option>
                                    </select>
                                </div>
                            </div>





                        </fieldset>
                        <div class="modal-footer">
                            <button type="button" class="btn btn-default" data-dismiss="modal">关闭</button>
                            <button type="button" class="btn btn-primary" v-on:click="update(editobj)">确认</button>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <!--修改结束-->




    </div>
    <link href="../content/plugin/sweetalert/sweetalert.css" rel="stylesheet">
    <script src="../content/plugin/sweetalert/sweetalert.min.js"></script>
    <script src="../content/plugin/bootstrap/js/bootstrap.min.js"></script>
    <script src="../content/js/vue2.js"></script>
    <script src="../content/js/vue-nav.js"></script>
    <script src="../content/js/config.js"></script>
    <script src="../content/plugin/FileUpload/js/vendor/jquery.ui.widget.js"></script>
    <script src="../content/plugin/FileUpload/js/jquery.iframe-transport.js"></script>
    <script src="../content/plugin/FileUpload/js/jquery.fileupload.js"></script>
    <script>
        $(function () {
            'use strict';
            var url = apiurl + "/uploadImg";
            $('#fileupload1').fileupload({
                autoUpload: true,//是否自动上传
                url: url,
                dataType: 'json',
                done: function (e, data) {

                    console.log(data.result);
                    if (data.result.code == 200) {

                        vm.$data.imgurl = data.result.pic;


                    } else {
                        swal("上传出错了!", data.result.message, "success");

                    }
                },
                progressall: function (e, data) {
                    var progress = parseInt(data.loaded / data.total * 100, 10);
                    $('#progress .progress-bar').css(
                        'width',
                        progress + '%'
                    );
                }
            }).prop('disabled', !$.support.fileInput)
                .parent().addClass($.support.fileInput ? undefined : 'disabled');


            $('#fileupload2').fileupload({
                autoUpload: true,//是否自动上传
                url: url,
                dataType: 'json',
                done: function (e, data) {

                    console.log(data.result);
                    if (data.result.code == 200) {

                        vm.$data.imgurl = data.result.pic;


                    } else {
                        swal("上传出错了!", data.result.message, "success");

                    }
                },
                progressall: function (e, data) {
                    var progress = parseInt(data.loaded / data.total * 100, 10);
                    $('#progress .progress-bar').css(
                        'width',
                        progress + '%'
                    );
                }
            }).prop('disabled', !$.support.fileInput)
                .parent().addClass($.support.fileInput ? undefined : 'disabled');


        });


        Array.prototype.remove = function (val) {
            var index = this.indexOf(val);
            if (index > -1) {
                this.splice(index, 1);
            }
        };
        var vm = new Vue({
            el: "#app",
            data: {
                all: 0,
                search: {
                    page: 1,
                    size: 10,
                    type: 1
                },
                arrayData: [],
                allcount: 0,
                menulist: [],
                addobj: {
                    parent_id: 0,
                    type: 1
                },
                imgurl: "",
                editobj: {},
                datalist: [],
                statelist: [{ "id": 1, "name": "是" }, { "id": 0, "name": "否" }],
                typelist: [{ "id": "1", "name": "C端" }, { "id": "2", "name": "B端" }, { "id": "1,2", "name": "BC端" }],
            },
            components: {
                'vue-nav': Vnav
            },
            methods: {
                searchdata: function () {
                    this.search.page = 1;
                    this.getdata();
                },
                getmenulist: function (addobj) {
                    var self = this;

                    $.post(apiurl + "/admin/menu/list", {}, function (data) {

                        self.menulist = data.data;

                    });
                },
                add: function () {

                    $("#addbox").modal('show');
                },
                addhang: function () {
                    if (this.datalist == null) {
                        this.datalist = [];
                    }
                    console.log("addhang", this.datalist);
                    var datalist = this.datalist;
                    datalist.push({});
                    this.datalist = datalist;
                },
                insert: function (addobj) {
                    var self = this;
                    addobj.id = "";
                    this.addobj.datalist = "";
                    //  this.addobj.token = json.token;
                    this.addobj.imgurl = this.imgurl;
                    $.post(apiurl + "/admin/category/add", addobj, function (data) {
                        if (data.status == 200) {
                            $("#addbox").modal('hide');
                            swal("success", "添加成功", "success");
                            self.getdata("");
                        } else {
                            swal("系统提示", data.message, "error");
                        }

                    });
                },
                delcode: function (uitem) {
                    var datalist = this.datalist;
                    datalist.remove(uitem);
                    this.datalist = datalist;
                },
                getdata: function (_keycontent) {  //查询数据

                    var self = this;
                    $.post(apiurl + "/admin/category/list", this.search, function (_result) {
                        console.log(_result);
                        self.arrayData = _result.data;
                        self.all = _result.allcount;
                        self.allcount = _result.count;
                    });
                    this.getmenulist();
                },
                callback: function (data) {
                    var self = this;
                    this.search.page = data;
                    $.post(apiurl + "/admin/category/list", this.search, function (_result) {
                        self.arrayData = _result.data;
                        self.all = _result.allcount;
                        self.allcount = _result.count;
                    });
                },
                vupdate: function (uitem) {

                    this.editobj = uitem;

                    console.log("haoqig", uitem);
                    $("#editbox").modal('show');

                },
                peizhi: function (uitem) {
                    this.editobj = uitem;
                    console.log("uitem.datalist", uitem.datalist);
                    if (uitem.datalist != "" && uitem.datalist != "undefined") {

                        this.datalist = JSON.parse(uitem.datalist);
                    } else {


                        this.datalist = [];
                    }


                    console.log("haoqig", uitem);
                    $("#peizhibox").modal('show');
                },
                update: function (uitem) {
                    var self = this;
                    uitem.imgurl = this.imgurl;
                    $.post(apiurl + "/admin/category/edit", uitem, function (data) {
                        if (data.status == 200) {
                            $("#editbox").modal('hide');
                            swal("success", "修改成功", "success");
                            self.getdata("");
                        } else {
                            swal("系统提示", data.message, "error");
                        }
                    });

                },
                vdel: function (uitem) {
                    var self = this;
                    swal({
                        title: "确定要删除吗?",
                        text: "",
                        type: "warning",
                        showCancelButton: true,
                        confirmButtonColor: "#DD6B55",
                        confirmButtonText: "是",
                        cancelButtonText: '否',
                        closeOnConfirm: false
                    }, function () {


                        $.ajax({
                            url: apiurl + '/admin/category/del',
                            type: 'DELETE',
                            data: { "ids": uitem.id },
                            success: function (result) {
                                if (result.status == 200) {
                                    swal("系统提示", "已删除", "success");
                                    self.getdata("");
                                } else {
                                    swal("系统提示", "系统异常", "success");
                                }
                            }
                        });

                    });
                },
                save: function () {
                    var self = this;

                    this.editobj.datalist = JSON.stringify(this.datalist);
                    this.editobj.token = json.token;
                    $.post(apiurl + "/admin/menuadd", this.editobj, function (data) {
                        if (data.status == 200) {
                            $("#peizhibox").modal('hide');
                            swal("success", "修改成功", "success");
                            self.getdata("");
                        } else {
                            swal("系统提示", data.message, "error");
                        }
                    });
                }

            },
            created: function () {  //初始化事件里边去调用查询方法
                this.getdata("");



            }
        });


    </script>
</body>

</html>